/* $Id : region.js 4865 2007-01-31 14:04:10Z paulgao $ */

var region = new Object();

region.loadRegions = function (parent, type, target) {
    //Ajax.call(region.getFileName(), 'type=' + type + '&target=' + target + "&parent=" + parent , region.response, "GET", "JSON");
    var params = {type: type, pid: parent, target: target};
    $.get(region.getFileName(), params, function (res) {
        region.response(res, 'region_id');
    });
}

region.loadRegion = function (parent, type, target) {
    //Ajax.call(region.getFileName(), 'type=' + type + '&target=' + target + "&parent=" + parent , region.response, "GET", "JSON");
    var params = {type: type, pid: parent, target: target};
    $.get(region.getFile(), params, function (res) {
        region.response(res, 'region_name');
    });
}
/* *
 * 载入指定的国家下所有的省份
 *
 * @country integer     国家的编号
 * @selName string      列表框的名称
 */
region.loadProvinces = function (country, selName) {
    var objName = (typeof selName == "undefined") ? "selProvinces" : selName;

    region.loadRegions(country, 1, objName);
}

/* *
 * 载入指定的省份下所有的城市
 *
 * @province    integer 省份的编号
 * @selName     string  列表框的名称
 */
region.loadCities = function (province, selName) {
    var objName = (typeof selName == "undefined") ? "selCities" : selName;

    region.loadRegions(province, 2, objName);
}

/* *
 * 载入指定的城市下的区 / 县
 *
 * @city    integer     城市的编号
 * @selName string      列表框的名称
 */
region.loadDistricts = function (city, selName) {
    var objName = (typeof selName == "undefined") ? "selDistricts" : selName;

    region.loadRegions(city, 3, objName);
}

/* *
 * 处理下拉列表改变的函数
 *
 * @obj     object  下拉列表
 * @type    integer 类型
 * @selName string  目标列表框的名称
 */
region.changed = function (obj, type, selName) {
    var parent = obj.options[obj.selectedIndex].value;

    region.loadRegions(parent, type, selName);
}
region.changeName = function (obj, type, selName) {
    var parent = obj.options[obj.selectedIndex].value;

    region.loadRegion(parent, type, selName);
}

region.response = function (result, text_result) {
    //var result = eval("(" + result + ")");
    var sel = document.getElementById(result.target);
    if(result.target=='c_city') {
        $('#c_city').html('<option value="">请选择</option>');
        $("#c_area").html('<option value="">请选择</option>');
    }
    if(result.target=='c_area'){
        $("#c_area").html('<option value="">请选择</option>');
    }
    if(result.target=='area'){
        $("#area").html('<option value="">请选择</option>');
    }
    if(result.target=='city'){
        $('#city').html('<option value="">请选择</option>');
        $("#area").html('<option value="">请选择</option>');
    }


	/*
	//触发onchange事件
	if (document.all) {
        sel.fireEvent("onchange");
    }else {
        var evt = document.createEvent("HTMLEvents");
        evt.initEvent('change', true, true);
        sel.dispatchEvent(evt);
    }
	*/

    if (result.regions) {
        for (i = 0; i < result.regions.length; i++) {
            var opt = document.createElement("OPTION");
            if(text_result == 'region_name'){
                opt.value = result.regions[i].region_name;
            }else{
                opt.value = result.regions[i].region_id;
            }
            opt.text = result.regions[i].region_name;
            sel.options.add(opt);
        }
    }
}

region.getFileName = function () {
    return "/index/ajax/region";
}

region.getFile = function () {
    return "/ajax/regions";
}